elasticsearch 学习笔记

您所在的位置:网站首页 install logstash-input-jdbc会卡住 elasticsearch 学习笔记

elasticsearch 学习笔记

2023-06-28 02:04| 来源: 网络整理| 查看: 265

一、elasticsearch相关资源:

https://github.com/elastic/elasticsearch

http://www.elastic.co/guide/en/elasticsearch/reference/current/zip-windows.html

环境要求:

java 8

可修改elasticsearch-env.bat JAVA_HOME

启动:

Run bin/elasticsearch (or bin\elasticsearch.bat on Windows)

访问 http://localhost:9200/

中文分词插件: https://github.com/medcl/elasticsearch-analysis-ik/releases

bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.2.1/elasticsearch-analysis-ik-6.2.1.zip

拼音插件:https://github.com/medcl/elasticsearch-analysis-pinyin/releases/download/v6.2.1/elasticsearch-analysis-pinyin-6.2.1.zip

入门资源:

http://www.ruanyifeng.com/blog/2017/08/elasticsearch.html

https://www.extlight.com/2017/09/27/Elasticsearch-%E5%9F%BA%E7%A1%80%E5%85%A5%E9%97%A8/

二、Logstash

Logstash 是一个开源的数据收集引擎,它具有备实时数据传输能力。它可以统一过滤来自不同源的数据,并按照开发者的制定的规范输出到目的地。

https://www.elastic.co/downloads/logstash

mysql-connector:

https://dev.mysql.com/downloads/connector/j/5.1.html

logstash 和 mysql-connector 是用来实现同步 mysql 数据到 elasticsearch 的。

logstash 配置:https://github.com/elastic/logstash/issues/3429

logstash 需要安装 logstash-input-jdbc 插件:(这一步可能会卡很久,可能的原因是,这个插件使用ruby开发,安装过程需要下载 gem,但是国外的源太慢。)

logstash/bin/plugin install logstash-input-jdbc

启动logstash:

logstash -f F:\java\logstash-6.2.2\bin\logstash.conf

查看elasticsearch是否同步数据成功:curl '127.0.0.1:9200/_cat/indices?v',如果看到大小在增长则说明同步成功了。

三、kibana安装:

Kibana 是一个开源的分析和可视化平台,旨在与 Elasticsearch 合作。Kibana 提供搜索、查看和与存储在 Elasticsearch 索引中的数据进行交互的功能。开发者或运维人员可以轻松地执行高级数据分析,并在各种图表、表格和地图中可视化数据。

http://www.elastic.co/downloads/kibana

vim config/kibana.yml # 将默认配置改成如下: server.port: 5601 server.host: "0.0.0.0" elasticsearch.url: "http://192.168.2.41:9200" kibana.index: ".kibana"

四、同步mysql数据至elasticsearch

五、过程中的问题

1.多表同步

2.增量同步(时间戳 :sql_last_start,时区问题)

input { jdbc { jdbc_driver_library => "F:\java\elasticsearch-6.2.1\lib\mysql-connector-java-5.1.45-bin.jar" jdbc_driver_class => "com.mysql.jdbc.Driver" jdbc_connection_string => "jdbc:mysql://123.56.100.207:3306/xsw_web?characterEncoding=utf8&useOldAliasMetadataBehavior=true" jdbc_user => "root" jdbc_password => "[email protected]" statement => "SELECT * FROM edu_course_catalog where lastUpdateTime > :sql_last_value" jdbc_paging_enabled => "true" jdbc_page_size => "500" schedule => "* * * * *" } } filter { mutate { convert => [ "lastUpdateTime", "string" ] } date { timezone => "Europe/Berlin" match => ["lastUpdateTime" , "ISO8601", "yyyy-MM-dd HH:mm:ss"] } json { source => "message" remove_field => ["message"] } } output { stdout { codec => rubydebug } elasticsearch { hosts => "127.0.0.1:9200" index => "course_catalog" document_id => "%{id}" } }

3.首字母、全拼查询,难度较大

4.多类型



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3